import Vue from 'vue'
import VueRouter from 'vue-router'

import loginRoute from './admin/login'
import welcomeRoute from './admin/welcome'

import store from '../store'

// vue使用webpack打包  webpack提供的一个方法
// const requireModules = require().context('./admin',false,'')

console.log(requireModules.keys())


Vue.use(VueRouter)

const routes = [
  loginRoute,
  welcomeRoute
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

// 路由守卫  全局路由守卫
router.beforeEach((to, from, next) => {
  // 判断不是登录才验证
  if ('/admin/login' !== to.path) { // 不是登录页面

    // 文件顶部通过import导入store模块
    // console.log(store.state.token)
    // 利用路由对象 了解
    // console.log(router.app.$options.store.state.token)
    /* if(store.state.token || sessionStorage.getItem('token')){
      next()
    }else{
      next('/admin/login')
    } */
    if(store.state.token){ // vuex中是否有
      next()
    }else{
      if(sessionStorage.getItem('token')){ // sessionStorage中要是没有，则进入登录页面
        store.dispatch('setToken',sessionStorage.getItem('token'))
        next()
        return
      }
      next('/admin/login')
    }
  } else { // 登录页面不验证
    next()
  }
})



export default router
